#ifndef SYSTEMSET_H
#define SYSTEMSET_H

class QString;

class SystemSet
{
public:
    SystemSet() {}
    SystemSet(const SystemSet &org)
    {
        m_title = org.m_title;
        m_inventoryShortagesProhibitSale = org.m_inventoryShortagesProhibitSale;
        m_inventoryShortagesPrompts = org.m_inventoryShortagesPrompts;
        m_useMemberPassword = org.m_useMemberPassword;
        m_integrationMode = org.m_integrationMode;
        m_forbidModifyPricesDiscounts = org.m_forbidModifyPricesDiscounts;
        m_printMemberIntegration = org.m_printMemberIntegration;
        m_modifyWindowPopsUp =  org.m_modifyWindowPopsUp;
        m_printCommodityBarcode = org.m_printCommodityBarcode;
        m_autoAddCommodityQuantity = org.m_autoAddCommodityQuantity;
        m_printSellingPrice = org.m_printSellingPrice;
        m_useDeleteOrderFormProtection = org.m_useDeleteOrderFormProtection;
        m_deleteOrderFormPassword = org.m_deleteOrderFormPassword;
        m_memberPrice = org.m_memberPrice;
        m_generalCustomerPrice = org.m_generalCustomerPrice;
    }
    SystemSet & operator =(const SystemSet &other)
    {
        if (this == &other)
            return *this;
        this->m_title = other.get_title();
        this->m_inventoryShortagesProhibitSale = other.get_inventoryShortagesProhibitSale();
        this->m_inventoryShortagesPrompts = other.get_inventoryShortagesPrompts();
        this->m_useMemberPassword = other.get_useMemberPassword();
        this->m_integrationMode = other.get_integrationMode();
        this->m_forbidModifyPricesDiscounts = other.get_forbidModifyPricesDiscounts();
        this->m_printMemberIntegration = other.get_printMemberIntegration();
        this->m_modifyWindowPopsUp = other.get_modifyWindowPopsUp();
        this->m_printCommodityBarcode = other.get_printCommodityBarcode();
        this->m_autoAddCommodityQuantity = other.get_autoAddCommodityQuantity();
        this->m_printSellingPrice = other.get_printSellingPrice();
        this->m_useDeleteOrderFormProtection = other.get_useDeleteOrderFormProtection();
        this->m_deleteOrderFormPassword = other.get_deleteOrderFormPassword();
        this->m_memberPrice = other.get_memberPrice();
        this->m_generalCustomerPrice = other.get_generalCustomerPrice();
        return *this;
    }
    SystemSet(const QString title, const int inventoryShortagesProhibitSale,
              const int inventoryShortagesPrompts,
              const int useMemberPassword, const int integrationMode,
              const int forbidModifyPricesDiscounts, const int printMemberIntegration,
              const int modifyWindowPopsUp, const int printCommodityBarcode,
              const int autoAddCommodityQuantity, const int printSellingPrice,
              const int useDeleteOrderFormProtection, const QString deleteOrderFormPassword,
              const int memberPrice, const int generalCustomerPrice)
    {
        m_title = title;
        m_inventoryShortagesProhibitSale = inventoryShortagesProhibitSale;
        m_inventoryShortagesPrompts = inventoryShortagesPrompts;
        m_useMemberPassword = useMemberPassword;
        m_integrationMode = integrationMode;
        m_forbidModifyPricesDiscounts = forbidModifyPricesDiscounts;
        m_printMemberIntegration = printMemberIntegration;
        m_modifyWindowPopsUp = modifyWindowPopsUp;
        m_printCommodityBarcode = printCommodityBarcode;
        m_autoAddCommodityQuantity = autoAddCommodityQuantity;
        m_printSellingPrice = printSellingPrice;
        m_useDeleteOrderFormProtection = useDeleteOrderFormProtection;
        m_deleteOrderFormPassword = deleteOrderFormPassword;
        m_memberPrice = memberPrice;
        m_generalCustomerPrice = generalCustomerPrice;
    }

    QString get_title() const {return m_title;}
    int get_inventoryShortagesProhibitSale() const {return m_inventoryShortagesProhibitSale;}
    int get_inventoryShortagesPrompts() const {return m_inventoryShortagesPrompts;}
    int get_useMemberPassword() const {return m_useMemberPassword;}
    int get_integrationMode() const {return m_integrationMode;}
    int get_forbidModifyPricesDiscounts() const {return m_forbidModifyPricesDiscounts;}
    int get_printMemberIntegration() const {return m_printMemberIntegration;}
    int get_modifyWindowPopsUp() const {return m_modifyWindowPopsUp;}
    int get_printCommodityBarcode() const {return m_printCommodityBarcode;}
    int get_autoAddCommodityQuantity() const {return m_autoAddCommodityQuantity;}
    int get_printSellingPrice() const {return m_printSellingPrice;}
    int get_useDeleteOrderFormProtection() const {return m_useDeleteOrderFormProtection;}
    QString get_deleteOrderFormPassword() const {return m_deleteOrderFormPassword;}
    int get_memberPrice() const {return m_memberPrice;}
    int get_generalCustomerPrice() const {return m_generalCustomerPrice;}

    void set_title(QString title) {m_title = title;}
    void set_inventoryShortagesProhibitSale(int inventoryShortagesProhibitSale)
    {m_inventoryShortagesProhibitSale = inventoryShortagesProhibitSale;}
    void set_inventoryShortagesPrompts(int inventoryShortagesPrompts)
    {m_inventoryShortagesPrompts = inventoryShortagesPrompts;}
    void set_useMemberPassword(int useMemberPassword)
    {m_useMemberPassword = useMemberPassword;}
    void set_integrationMode(int integrationMode) {m_integrationMode = integrationMode;}
    void set_forbidModifyPricesDiscounts(int forbidModifyPricesDiscounts)
    {m_forbidModifyPricesDiscounts = forbidModifyPricesDiscounts;}
    void set_printMemberIntegration(int printMemberIntegration)
    {m_printMemberIntegration = printMemberIntegration;}
    void set_modifyWindowPopsUp(int modifyWindowPopsUp)
    {m_modifyWindowPopsUp = modifyWindowPopsUp;}
    void set_printCommodityBarcode(int printCommodityBarcode)
    {m_printCommodityBarcode = printCommodityBarcode;}
    void set_autoAddCommodityQuantity(int autoAddCommodityQuantity)
    {m_autoAddCommodityQuantity = autoAddCommodityQuantity;}
    void set_printSellingPrice(int printSellingPrice)
    {m_printSellingPrice = printSellingPrice;}
    void set_useDeleteOrderFormProtection(int useDeleteOrderFormProtection)
    {m_useDeleteOrderFormProtection = useDeleteOrderFormProtection;}
    void set_deleteOrderFormPassword(QString deleteOrderFormPassword)
    {m_deleteOrderFormPassword = deleteOrderFormPassword;}
    void set_memberPrice(int memberPrice)  {m_memberPrice = memberPrice;}
    void set_generalCustomerPrice(int generalCustomerPrice)
    {m_generalCustomerPrice = generalCustomerPrice;}

private:
    QString m_title ;
    int m_inventoryShortagesProhibitSale;
    int m_inventoryShortagesPrompts;
    int m_useMemberPassword;
    int m_integrationMode;
    int m_forbidModifyPricesDiscounts;
    int m_printMemberIntegration;
    int m_modifyWindowPopsUp;
    int m_printCommodityBarcode;
    int m_autoAddCommodityQuantity;
    int m_printSellingPrice;
    int m_useDeleteOrderFormProtection;
    QString m_deleteOrderFormPassword;
    int m_memberPrice;
    int m_generalCustomerPrice;
};

#endif // SYSTEMSET_H
